/*
 * 描          述:  <描述>
 * 修  改   人:  Administrator
 * 修改时间:  2014年6月5日
 * <修改描述:>
 */
package com.tx.component.dailytask.task;

import java.util.HashMap;
import java.util.Map;

/**
 * 定时任务接口实现<br/>
 * <功能详细描述>
 * 
 * @author  Tim.PengQY
 * @version  [版本号, 2017年10月16日]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public interface IDailyTask {
    
    /**
     * 任务唯一键<br/>
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
    */
    public String getId();
    
    /**
     * 父级任务唯一键<br/>
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
    */
    public default String getParentId() {
        return null;
    }
    
    /**
     * 事务名称<br/>
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    public default String getName() {
        return getId();
    }
    
    /**
     * 事务的描述信息<br/>
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    public default String getRemark() {
        String className = getClass().getName();
        return className;
    }
    
    /**
     * 任务优先级值<br/>
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return int [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    public default int getPriority() {
        return 0;
    }
    
    /**
     * 获取方法参数<br/>
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return Map<String,String> [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    public default Map<String, String> getParameters() {
        return new HashMap<>();
    }
}
